package org.yimon.tool.algo.meituan;

import java.util.ArrayList;
import java.util.List;

/**
 * @Author yimon.gao
 * @Description 美团字符串分割
 * 实现方法
 * List<String> split(String src, String splitStr);
 * 要求：不能直接调用split，但可以使用其它库函数
 * @Date 2024/10/16 16:15
 */
public class MeiTuan_SplitStr {

    public static void main(String[] args) {
        System.out.println(MeiTuan_SplitStr.split("oie--wtewosdn--fsdfk--hhkaskd-", "--"));
    }

    public static List<String> split(String src, String splitStr) {
        List<String> result = new ArrayList<>();
        //特殊情况判断
        if(src == null || splitStr == null || src.length()<splitStr.length()) {
            return result;
        }
        int start = 0;//取字符串的起始位置
        //遍历字符
        for(int left = 0; left < src.length() - splitStr.length(); left++) {
            int right = left + splitStr.length();
            String sub = src.substring(left, right);//从字符串中截取与分割符长度一致的字串
            if(sub.equals(splitStr)) {//如果字串与分割符匹配，则截取前面一段的字符出来为结果
                String temp = src.substring(start, left);
                result.add(temp);
                left = right;//遍历字符左边进行移动
                start = left;//取字符串的起始位置进行移动
            }
        }
        if(start<src.length()) {
            result.add(src.substring(start));
        }

        return result;
    }
}
